import { compileToFunctions } from './compiler/index'
import { initGlobalAPI } from './global-api/index'
import { initMixin } from './init'
import { stateMixin } from './initState'
import { lifecycleMixin } from './lifecycle'
import { renderMixin } from './vnode/index'
import { createEl, patch } from './vnode/patch'
function Vue (options){
    //初始化
    this._init(options)
}
// 第一步先走到这进行方法赋值
initMixin(Vue)
// 第二步watch
initGlobalAPI(Vue)
// 第三步添加生命周期
lifecycleMixin(Vue)
// 第四步添加_render方法
renderMixin(Vue)
stateMixin(Vue)




export default Vue
/**
 * Vue渲染流程
 * 初始化 =》 模板编译 =》变成ast语法树 =》变成render字符串 =》 变成render函数 =》通过render函数变成vnode =》 vnode变成真实node =》 放到页面上
 */